package ae.pcfc.cldos.online.common.delegate.provider;

import java.util.List;

import ae.pcfc.cldos.online.common.delegate.BaseDelegate;
import ae.pcfc.cldos.online.common.delegate.CompanyInformationDelegate;
import ae.pcfc.cldos.online.common.exception.FNPAppException;
import ae.pcfc.cldos.online.common.exception.GSAppException;
import ae.pcfc.cldos.online.common.exception.LocatorException;
import ae.pcfc.cldos.online.common.exception.NoSuchCompanyException;
import ae.pcfc.cldos.online.common.facade.CompanyInformationFacade;
import ae.pcfc.cldos.online.common.vo.CompanyInformationVO;
import ae.pcfc.cldos.online.common.vo.UserVO;

/**
 * 
 * @author arosa
 *
 */
public class CompanyInformationDelegateImpl extends BaseDelegate implements CompanyInformationDelegate {

	public CompanyInformationVO retriveCompanyInformation(UserVO userVO)
			throws NoSuchCompanyException,GSAppException,FNPAppException {
		return getServiceLocator().getFacadeService(CompanyInformationFacade.class).retriveCompanyInformation(userVO);
	}

	public void setMedicalType(UserVO userVO, String medicalType) throws LocatorException, NoSuchCompanyException{
		getServiceLocator().getFacadeService(CompanyInformationFacade.class).setMedicalType(userVO, medicalType); 
	}
	
	public String getMedicalType(UserVO userVO) throws LocatorException, NoSuchCompanyException {
		return getServiceLocator().getFacadeService(CompanyInformationFacade.class).getMedicalType(userVO);		
	}
	
	public CompanyInformationVO retriveTksAdminCompanyInformation(String licNo,Long clientId, String tksId) throws NoSuchCompanyException{
		return getServiceLocator().getFacadeService(CompanyInformationFacade.class).retriveTksAdminCompanyInformation( licNo, clientId,  tksId);
	}
	
	public List<CompanyInformationVO> getAllActiveCompanies(){
		return getServiceLocator().getFacadeService(CompanyInformationFacade.class).getAllActiveCompanies();
	}
	public CompanyInformationVO retriveGSInformation(UserVO userVO) throws NoSuchCompanyException,GSAppException{
		return getServiceLocator().getFacadeService(CompanyInformationFacade.class).retriveGSInformation(userVO);
	}
	public CompanyInformationVO retriveFNPInformation(UserVO userVO) throws NoSuchCompanyException,FNPAppException{
		return getServiceLocator().getFacadeService(CompanyInformationFacade.class).retriveFNPInformation(userVO);
	}
	
}
